package com.zxb.base.task.service;

import com.zxb.core.dao.system.SysTask;
import org.quartz.SchedulerException;

/**
 * @author Zxb
 */
public interface QuartzService {
	/**
	 * 启动所有任务
	 * @throws SchedulerException 异常
	 */
	void startAll() throws SchedulerException;

	/**
	 * 添加任务
	 * @param task 任务
	 * @throws SchedulerException 异常
	 */
	void addJob(SysTask task) throws SchedulerException;

	/**
	 * 修改任务
	 * @param code 任务编码
	 * @param cron corn表达式
	 * @throws SchedulerException 异常
	 */
	void modifyJob(String code, String cron) throws SchedulerException;

	/**
	 * 暂停任务
	 * @param code 任务编码
	 * @throws SchedulerException 异常
	 */
	void pauseJob(String code) throws SchedulerException;

	/**
	 * 恢复任务
	 * @param code 任务编码
	 * @throws SchedulerException 异常
	 */
	void resumeJob(String code) throws SchedulerException;

	/**
	 * 删除任务
	 * @param code 任务编码
	 * @throws SchedulerException 异常
	 */
	void delJob(String code) throws SchedulerException;

	/**
	 * 手动执行任务
	 * @param task 任务
	 * @throws SchedulerException 异常
	 */
	void doJob(SysTask task) throws SchedulerException;
}
